package com.ruoyi.forum.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Objects;

@TableName("circle_topic_reply")
public class CircleTopicReply {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    private Long topicId;

    private String uid;

    private String content;

    private Long createTime;

    @TableLogic
    private Integer delFlag;

    private String replyTo;

    private Integer topFlag;

    private String topUpdator;

    private Long topTime;

    private Integer replyType;

    private String delOperator;

    private Long delOperTime;

    private Integer readFlag = 0;

    private Long replyId;

    private Integer operateType = 0;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getTopicId() {
        return topicId;
    }

    public void setTopicId(Long topicId) {
        this.topicId = topicId;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public String getReplyTo() {
        return replyTo;
    }

    public void setReplyTo(String replyTo) {
        this.replyTo = replyTo;
    }

    public Integer getTopFlag() {
        return topFlag;
    }

    public void setTopFlag(Integer topFlag) {
        this.topFlag = topFlag;
    }

    public String getTopUpdator() {
        return topUpdator;
    }

    public void setTopUpdator(String topUpdator) {
        this.topUpdator = topUpdator;
    }

    public Long getTopTime() {
        return topTime;
    }

    public void setTopTime(Long topTime) {
        this.topTime = topTime;
    }

    public Integer getReplyType() {
        return replyType;
    }

    public void setReplyType(Integer replyType) {
        this.replyType = replyType;
    }

    public String getDelOperator() {
        return delOperator;
    }

    public void setDelOperator(String delOperator) {
        this.delOperator = delOperator;
    }

    public Long getDelOperTime() {
        return delOperTime;
    }

    public void setDelOperTime(Long delOperTime) {
        this.delOperTime = delOperTime;
    }

    public Integer getReadFlag() {
        return readFlag;
    }

    public void setReadFlag(Integer readFlag) {
        this.readFlag = readFlag;
    }

    public Long getReplyId() {
        return replyId;
    }

    public void setReplyId(Long replyId) {
        this.replyId = replyId;
    }

    public Integer getOperateType() {
        return operateType;
    }

    public void setOperateType(Integer operateType) {
        this.operateType = operateType;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        CircleTopicReply that = (CircleTopicReply) o;

        if (id != that.id) return false;
        if (!Objects.equals(topicId, that.topicId)) return false;
        if (!Objects.equals(uid, that.uid)) return false;
        if (!Objects.equals(content, that.content)) return false;
        if (!Objects.equals(createTime, that.createTime)) return false;
        if (!Objects.equals(delFlag, that.delFlag)) return false;
        if (!Objects.equals(replyTo, that.replyTo)) return false;
        if (!Objects.equals(topFlag, that.topFlag)) return false;
        if (!Objects.equals(topUpdator, that.topUpdator)) return false;
        if (!Objects.equals(topTime, that.topTime)) return false;
        return Objects.equals(replyType, that.replyType);
    }

    @Override
    public int hashCode() {
        int result = (int) (id ^ (id >>> 32));
        result = 31 * result + (topicId != null ? topicId.hashCode() : 0);
        result = 31 * result + (uid != null ? uid.hashCode() : 0);
        result = 31 * result + (content != null ? content.hashCode() : 0);
        result = 31 * result + (createTime != null ? createTime.hashCode() : 0);
        result = 31 * result + (delFlag != null ? delFlag.hashCode() : 0);
        result = 31 * result + (replyTo != null ? replyTo.hashCode() : 0);
        result = 31 * result + (topFlag != null ? topFlag.hashCode() : 0);
        result = 31 * result + (topUpdator != null ? topUpdator.hashCode() : 0);
        result = 31 * result + (topTime != null ? topTime.hashCode() : 0);
        result = 31 * result + (replyType != null ? replyType.hashCode() : 0);
        return result;
    }
}